#pragma once
#include "TCharSupport.h"
#include "EpilExpressionCodeBase.h"
#include "EpilStatementCodeBase.h"


class EpilAssignStatementCode : public EpilStatementCodeBase
{
	EPIL_CODE_DECL( AssignStatement );

public:
	EpilAssignStatementCode( const EpilLexLocation & location );
	virtual ~EpilAssignStatementCode();

	EpilExpressionCodeList &			GetAssigners()												{ return m_assigners; }
	const EpilExpressionCodeList &		GetAssigners() const										{ return m_assigners; }
	void								SetAssigners( const EpilExpressionCodeList & assigners )	{ m_assigners = assigners; }
	EpilExpressionCodeList &			GetAssignees()												{ return m_assignees; }
	const EpilExpressionCodeList &		GetAssignees() const										{ return m_assignees; }
	void								SetAssignees( const EpilExpressionCodeList & assignees )	{ m_assignees = assignees; }

	virtual tstring						ToEpilCode( int indent ) const;

private:
	EpilExpressionCodeList				m_assigners;
	EpilExpressionCodeList				m_assignees;
};